The present invention relates to storage devices for computers, and in particular to such storage devices that include programmed controllers to manage their operation.
Storage devices are part of every computer or computerized appliance. Such storage devices employ a variety of storage technologies, such as magnetic, optical or nonvolatile solid-state disks, with additional storage technologies emerging. Some storage devices are embedded within a computerized device, while others are removable and can be attached to many hosts.
Some storage devices include programmed controllers to control read and write operations. For example, flash storage devices include controllers to emulate standard block storage devices, as well as to manage error-correction and wear-leveling.
FIG. 1 is a high-level block diagram of an exemplary prior art flash storage device 110 connected or connectable to a host 105. Device 110 includes a data storage area 120+130, a controller 100 that accesses storage area 120+130 and manages error-correction and wear-leveling under techniques that are well-known in the art of flash memories (see for example U.S. Pat. No. 5,404,485 to Ban, which is included by reference for all purposes as if fully set forth herein). An interface 102 serves to exchange data with, and optionally also to draw electrical power from, host 105. If storage device 110 is removable from host 105, interface 102 can use interfaces such as Universal Serial Bus (USB), CompactFlash™, SecureDigital™, MultimediaCard™, SmartMedia™, MemoryStick™ and the like. If storage device 110 is embedded within host 105, interface 102 usually uses an IDE or SCSI interface. Host 105 can be a personal computer such as a desktop, laptop or palmtop model, or can be a digital appliance such as a cellular telephone, a personal digital assistant (PDA), a digital camera, a music player, or a voice recorder.
Data storage area 120+130 of storage device 110 is divided into a user storage area 120 and a device storage area 130. User area 120 includes user files 122 that a user has created or copied, such as documents, music files or digital images; and service files 124, that can include an operating system, application programs, a file system, and other system tables and files, all enabling the creation, access to and management of user files 122. All files in user area 120 are accessible by host 105, and are usually erased under the control of host 105 upon formatting storage device 110.
Device storage area 130 includes data that serves the operation of storage device 110. A device descriptor 132 includes descriptive and operational parameters accessible by interface 102, usually under well-defined standards. A device system 134 includes programs and data for operating controller 100; thus the operations of access, error-correction and wear-leveling mentioned above are performed by controller 100 by executing programs read from device system storage 134.
While user storage area 120 can be seen as the territory of the host 105, device storage area 130 is the territory of controller 100, guarded strictly by provisions installed by the device manufacturer during production. It is customary that device descriptor 132 is accessible to host 105 for specialized read-only operations, while device system 134 is not accessible to host 105 at all, or requires special utility programs and password-protected permissions for access. In most cases, the user of storage device 110 does not see device storage area 130 and is not aware of its existence.
Files in user area 120 are generally accessible by and visible to users. Such visibility can be enhanced for a selected file by placing the file at the root level of device 110, by employing an Autorun utility to run the file automatically, or by using eye-catching icons. There are scenarios in which specific files need to be visible to a user but not removable by him/her. For example, if the original user has personalized a removable storage device to show his/her name upon insertion into a host, the original user will not want someone who steals or finds the device to erase this identity. If a storage device has been given away by a commercial company and is programmed to show the company's logo and contact details upon insertion into a compatible host 105, that company will want its startup screen to be non-removable. However, existing devices do not support such combination of visibility and persistence because under existing designs, data are either stored in device storage area 130 (FIG. 1) where the data are generally concealed, or are pre-installed to be visible in user storage area 120, where the data are also easily erasable, for example by deleting a file or by reformatting storage device 110 under the control of host 105.
There is therefore a need for storage devices that contain selected “persistent” files in their user storage area and that prevent the erasure of such files by the user.